// ---------- 遮罩层 --------------

.dialog-mask {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: hsla(0, 0%, 0%, 0);
  transition: backgroundColor 0.3s ease-out;
}


// ---------- 最外容器层 --------------
.dialog-box-default {
  width: 100vw;
  position: fixed;
  left: 0;
  top: 0;
  z-index:1000000;
  height: 0px;
  overflow: hidden;
  // 隐藏时的动画
  transition-property: height;
  transition-duration: 0;
  transition-delay: 0.35s;
}

.dialog-left-box {
  .dialog-box-default;
}
.dialog-center-box {
  .dialog-box-default;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dialog-right-box {
  .dialog-box-default;
}
.dialog-bottom-box{
  .dialog-box-default;
}

// ---------- 内容层容器 --------------
.dialog-content-default{
  overflow: hidden;
  position: relative;
  opacity: 0;
}

.dialog-left-content {
  .dialog-content-default; 
  height: 100%;
  top: 0;
  border-radius: 0;
  opacity: 0;
  left: 0;
  position: absolute;
  transform: translateX(-100%);
  transition: transform 0.3s ease-out, opacity 0.35s ease-out;
}
.dialog-right-content {
  .dialog-content-default;
  height: 100%;
  top: 0;
  border-radius: 0;
  opacity: 0;
  right: 0;
  position: absolute;
  transform: translateX(100%);
  transition: transform 0.3s ease-out, opacity 0.35s ease-out;
}

.dialog-center-content {
  .dialog-content-default;
  /* 隐藏时的过度效果 */
  width: 100%;
  top: 15px;
  transition: top 0.3s ease-out, opacity 0.35s ease-out;
}

.dialog-bottom-content {
  .dialog-content-default;
  width: 100%;
  bottom: 0;
  border-radius: 0;
  opacity: 0;
  left: 0;
  position: absolute;
  transform: translateY(100%);
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}



// ---------- 对应mode显示动画 --------------
.dialog-show {
  transition-property: height;
  transition-delay: 0s;
  height: 100vh;
  .dialog-mask {
    // 遮罩层显示时动画
    transition: all 0.25s linear;
    background-color: hsla(0, 0%, 0%, 0.4);
  }
  .dialog-left-content {
    /* 显示时的过度效果 */
    transition: transform 0.25s ease, opacity 0.1s ease-in;
    opacity: 1;
    transform: translateX(0%);
  }
  .dialog-right-content{
    /* 显示时的过度效果 */
    transition: transform 0.25s ease, opacity 0.1s ease-in;
    opacity: 1;
    transform: translateX(0%);
  }

  .dialog-center-content {
    /* 显示时的过度效果 */
    transition: top 0.25s ease, opacity 0.1s ease-in;
    opacity: 1;
    top: 0px;
  }
  .dialog-bottom-content {
    /* 显示时的过度效果 */
    transition: transform 0.25s ease-in-out, opacity 0.1s ease-in;
    opacity: 1;
    transform: translateY(0%);
  }
}